cmake_minimum_required(VERSION 3.10.2)

project(app)

## --------- 搜索编译文件列表函数：aux_source_directory / file -----------------
#[[ aux_source_directory(< dir > < variable >)
  dir：要搜索的目录
  variable：将从dir目录下搜索到的源文件列表存储到该变量中
  PROJECT_SOURCE_DIR:是cmake预定义宏，等于cmake指令后面跟随的路径 ：例如cmake .. （${PROJECT_SOURCE}就是上一级目录）
  CMAKE_CURRENT_SOURCE_DIR : CMakeLists.txt所在路径 
]]
# aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} SRC_LIST)

#[[ file(GLOB/GLOB_RECURSE 变量名 要搜索的文件路径和文件类型)
  GLOB: 查询该目录下满足条件的所有文件名，并存储到变量中。
  GLOB_RECURSE：递归查询该目录下满足条件的所有文件名，并存储到变量中。
]]
file(GLOB_RECURSE SRC_LIST ${CMAKE_CURRENT_SOURCE_DIR}/src/*/*.cpp)
## --------- 搜索编译文件列表函数：aux_source_directory / file -----------------

# 指定头文件路径
include_directories(${PROJECT_SOURCE_DIR}/include)
include_directories(${PROJECT_SOURCE_DIR}/src/add)
include_directories(${PROJECT_SOURCE_DIR}/src/mult)

# 指定生成库路径(路径不存在会自动创建)
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)

# add_library(库名称 STATIC/SHARED  源文件1 [源文件2] ...) 
add_library(${PROJECT_NAME} SHARED ${SRC_LIST})


